/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package controladores;

import com.google.gson.Gson;
import entidades.Sesion;
import entidades.Usuario;
import org.json.JSONObject;
import utiles.Encriptador;
import utiles.json.JSONParser;

/**
 *
 * @author fcarou
 */
public class ControladorSesion extends BaseControlador
{
    public ControladorSesion ()
    {
        super(Constantes.URL_COMPLETA + Constantes.SESIONES);
    }
    
    /**
     * Inicia sesion en el sistema con los datos provistos.
     * @param usuario el usuario.
     * @param clave la clave.
     * @param encriptada true para que la clave provista sea encriptada.
     * @return la sesion si se pudo iniciar.
     */
    public Sesion iniciarSesion (String usuario, String clave, boolean encriptada)
    {
        if (!encriptada)
            clave = Encriptador.encriptar(clave);
        
        Usuario user = new Usuario (usuario, clave);
        Gson gson = new Gson();
       
        String res = helper.doPost(Constantes.INICIAR_SESION, null, gson.toJson(user));
        JSONParser<Sesion> parser = new JSONParser<>(Sesion.class);
        
        return parser.fromJson(res);
    }
    
    public boolean cerrarSesion (String codigo)
    {
        if (codigo == null || codigo.equals(""))
            return false;
        
        return Boolean.valueOf(helper.doPost(Constantes.CERRAR_SESION, null, codigo));
    }
}
